package xyz.huanggy.minio.upload.model.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * 文件信息实体类
 */
@TableName("sys_file_info")
@Data
@Accessors(chain = true)
public class SysFileInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 文件ID
     */
    private Long id;

    /**
     * 文件名
     */
    private String name;

    /**
     * 文件URL
     */
    private String url;

    /**
     * 文件大小
     */
    private Long byteSize;

    /**
     * 文件类型（如：png、jpg，pdf，doc等）
     */
    private String fileType;


    /**
     * 业务代码，只支持[a-zA-Z0-9_]
     */
    private String businessCode = "0"; // 默认值为"0"

    /**
     * 业务子代码，只支持[a-zA-Z0-9_]
     */
    private String subBusinessCode;

    /**
     * 关联业务表ID
     */
    private Long referenceId;

    /**
     * 文件的MD5校验码
     */
    private String md5Code;

    /**
     * 所属桶名
     */
    private String bucketName;

    //分片上传的uploadId
    private String uploadId;

    //每个分片大小（byte）
    private Long chunkSize;
    //分片数量
    private Integer chunkNum;

}
